﻿
var layTool = {
    toplayer : window.top.layer,   // 获取顶层窗口的layer对象
    topWin : window.top ,           // 获取顶层窗口对象
    colseTime : 1500 ,                // 关闭弹出框的默认时间 3s
    width : '800px',                 // 默认窗口的宽度
    height : '600px',               // 默认窗口的高度
    px : 'px' ,                     // 对话框宽高单位
    reg : new RegExp("[`~$^|{}':;'\\[\\]<>?~！#￥……——|{}【】‘；：”“']",'g'),
/**
     * 警告框
     * @param {} content    警示的内容
     */
    showAlert : function(content){
        this.topWin.layui.layer.alert(content, {icon: 0,closeBtn: 0});
    },
    /**
     * 操作成功提示框
     * @param {} content    提示内容  默认：操作成功
     * @param {} callback    回调方法
     */
    showSucAlert : function (content,callback){
        var length = arguments.length ;   //  实际传入参数的长度
        var options = {icon:1,time:this.colseTime};
        if(length == 0){  // 没有传入任何参数
            this.topWin.layui.layer.alert("操作成功",options);
        }else if(length == 1){ // 传入了提示内容
            this.topWin.layui.layer.alert(content,options);
        }else if(length == 2){  // 有回调函数的,将不自动关闭
            this.topWin.layui.layer.alert(content,{icon:1},callback);
        }
    },
    /**
     * 操作失败提示框
     * @param {} content    提示内容 默认：操作失败
     * @param {} time       关闭时间(单位毫秒) 默认：1S,0:表示不自动关闭
     */
    showFailAlert : function(content,time){
        var length = arguments.length ;   //  实际传入参数的长度
        var options = {icon:2,time:this.colseTime};
        if(length == 0){  // 没有传入任何参数
            this.topWin.layui.layer.alert("操作失败",options);
        }else if(length == 1){ // 传入了提示内容
            this.topWin.layui.layer.alert(content,options);
        }else if(length == 2){ // 传入了关闭时间
            options.time = time ;
            this.topWin.layui.layer.alert(content,options);
        }
    },
    /**
     * 打开一个对话框(没有回调函数)
     * @param {} title       对话框标题(必须)
     * @param {} url        对话框URL(必须)
     * @param {} width        对话框宽度 默认：800px
     * @param {} height        对话框高低 默认：600px
     */
    openDialogNoCallBack : function(title,url,width,height){
        this.topWin.layui.layer.open({
            type : 2,
            title : title ,
            content : url.replace(this.reg,"*")  ,
            maxmin: true,
            area: [width, height]
        });
    },
    /**
     * 获取当前的窗口对象
     * @return {}
     */
    getCurrentWin : function(){
        return this.topWin.frames['ifr_center'] ;
    },

    /**
     * 打开一个对话框(带回调函数)
     * @param {} title       对话框标题(必须)
     * @param {} url        对话框URL(必须)
     * @param {} width        对话框宽度 默认：800px
     * @param {} height        对话框高低 默认：600px
     */
    openDialogWithCallBack : function(title,url,width,height,yesback){
        this.topWin.layui.layer.open({
            type : 2,
            title : title ,
            content : url.replace(this.reg,"*") ,
            area: [width, height],
            maxmin: true,
            btn: ['确认',"取消"],
            yes:yesback,
            bt2 : function (index, layero) {
                layTool.close(index)
            }
        });
    },
    /***
     * 打开一个对话框(带回调函数)
     * @param title   对话框标题(必须)
     * @param url     对话框URL(必须)
     * @param width   对话框宽度 默认：%
     * @param height  对话框高低 默认：%
     * @param end     销毁对话框执行的函数
     */
    openDialogWithEndBack : function(title,url,width,height,end,must){
        width = (width.replace(new RegExp("[px]",'g'),"") / 1920 * 100).toFixed(2) +"%";
        height = (height.replace(new RegExp("[px]",'g'),"") / (1080-50) * 100).toFixed(2) + "%";
        this.topWin.layui.layer.open({
            type : 2,
            title : title ,
            resize : false,
            content : url.replace(this.reg,"*")  ,
            area: [width, height],
            end :function (layer , index) {
                // must 只在必须刷新的时候用
                end ==null && must!= null &&  "function" == typeof must && must(layer,index)

                if($(layer.find(".form_buttom a")[0]).hasClass("checked")){
                    "function" == typeof end && end(layer,index);
                }

            }
        });
    },

    /**
     * 刷新当前页表格
     * @param parameter     表格传入的参数
     */
    refreshPage : function (tb,parameter) {

        var table=   layui.table;
        if($(".layui-laypage-skip")[0] === undefined){
            table.reload(tb, {page: {curr: "1"},where: parameter});
        }else {
            var page = $(".layui-laypage-skip")[0].firstElementChild.value;//获取当前页码
            table.reload(tb, {page: {curr: page},where: parameter});
        }

    },

    /**
     * 打开一个对话框(没有回调函数)
     * @param {} title       对话框标题(必须)
     * @param {} url        对话框URL(必须)
     * @param {} width        对话框宽度 默认：800px
     * @param {} height        对话框高低 默认：600px
     * @param {} callback   窗口销毁时的回调方法
     */
    openDialog : function(title,url,width,height,callback){
        var length = arguments.length ;   //  实际传入参数的长度
        if(length == 2){   // 默认宽高
            this.openDialogNoCallBack(title,url,this.width,this.height)
        }else if(length == 3){  // 只传入宽度参数
         /*   width += this.px ;*/
            this.openDialogNoCallBack(title,url,width,this.height)
        }else if(length == 4){  // 传入宽度和高度
            /*width += this.px ;
            height += this.px ;*/
            this.openDialogNoCallBack(title,url,width,height)
        }else if(length == 5){   // 带回调函数
           /* width += this.px ;
            height += this.px ;*/
            this.openDialogWithCallBack(title,url,width,height,callback);
        }
    },

    /**
     * 关闭弹出层
     * @param {} index
     */
    closeLayer : function(index){
        this.topWin.layui.layer.close(index);
    },
    /**
     * 关闭所有的Dialog
     */
    closeDialog : function(){
        this.topWin.layui.layer.closeAll('iframe');
    },
    /**
     * 关闭Dialog带有操作成功的提示
     * @param {} content
     */
    closeDialogWithMsg : function(content){
        this.topWin.layui.layer.closeAll('iframe');
        if(!content) content = "操作成功" ;
        this.showSucMsg(content);
    },
    /**
     * 显示提示框
     * @param {} content
     */
    showMsg : function(content){
        this.topWin.layui.layer.msg(content,{time:this.colseTime*2}) ;
    },
    /**
     * 显示操作成功的提示框
     * @param {} content
     */
    showSucMsg : function(content){
        if(!content) content = "操作成功" ;
        this.topWin.layui.layer.msg(content,{icon: 1,time:this.colseTime*2}) ;
    },
    /**
     * 显示验证提示框
     * @param content
     */
    shoVerifyMsg : function(content){
        this.topWin.layui.layer.msg(content, {
            icon: 5,
            shift: 6
        });
    },
    /**
     * 显示验证框
     * @param {} content   提示内容
     * @param {} yesFunction 确定以后的回调函数
     */
    showConfirm : function(content,yesFunction){
        this.topWin.layui.layer.confirm(content,{
            btn: ['确定', '取消']
            ,icon : 3
            ,closeBtn: 0
        },yesFunction);
    },
    /**
     * 获取open 页面的数据函数
     * @param content
     * @param index
     * @returns {*}
     */
    getChildFrame  :function (index) {
        return window.top.layer.getChildFrame('body', index);
    },

    close : function () {
        var index=parent.layer.getFrameIndex(window.name);
        layTool.closeLayer(index);
    },

    /** 打开说明 */
    openContent : function (content,width,height,callBack){
        width = (width.replace(new RegExp("[px]",'g'),"") / 1920 * 100).toFixed(2) +"%";
        height = (height.replace(new RegExp("[px]",'g'),"") / (1080-50) * 100).toFixed(2) + "%";
        var length = arguments.length ;   //  实际传入参数的长度
        if(length == 2) {   // 默认宽高
            this.topWin.layui.layer.open({
                type: 1,
                title: false, //不显示标题栏,
                closeBtn: 0,
                area: width,
                shade: 0.8,
                btn: ['关闭'],
                btnAlign: 'c',
                moveType: 1, //拖拽模式，0或者1,
                content: content,
            })
        }
        if(length == 3) {   // 默认宽高
            this.topWin.layui.layer.open({
                type: 1,
                title: false, //不显示标题栏,
                closeBtn: 0,
                area: [width, height],
                shade: 0.8,
                btn: ['关闭'],
                btnAlign: 'c',
                moveType: 1, //拖拽模式，0或者1,
                content: content,
            })
        }else if(length == 4){
            this.topWin.layui.layer.open({
                type: 1,
                title: false, //不显示标题栏,
                closeBtn: 0,
                area: [width, height],
                shade: 0.8,
                btn: ['关闭'],
                btnAlign: 'c',
                moveType: 1, //拖拽模式，0或者1,
                content: content,
                success:callBack
            })
        }

    },
    openMulu : function (layer,top,left,width,height,content) {
        left = (left.replace(new RegExp("[px]",'g'),"") / (Number(1920) - (Number(width.replace(new RegExp("[px]",'g'),"")) / 2)) * 100).toFixed(2) +"%";
        top = (top.replace(new RegExp("[px]",'g'),"") / 1080 * 100).toFixed(2) + "%";
        var option = {
            title: '目录'
            ,type:1
           /* ,offset: ['255px', '1560px']*/
            ,area: ['200px','320px']
            ,closeBtn :0
            ,anim:3
            ,move:false
            ,resize:false
            ,shade:false
            ,content: content
        };
        top && left ?option.offset= [top,left] : option.offset = 'r';
        width && height ?option.area= [width,height] : option.area = 'auto';
        layer.open(option);
    }


}
